Every day, people send and receive millions of email (also written as “e-mail”) messages over computer networks for business and leisure. Email, being convenient, easy to use and close to instantaneous in many cases, has become an extremely popular communication channel for people to exchange information.
Traditionally, email messages arriving at a user's email account are displayed by a dedicated email client or in web browser window individually, in a chronological order, e.g., the most recent message appears at top of the browser window while the oldest one appears at the bottom of the browser window. However, it is common that multiple messages sent by two or more people at different times may cover a same topic. Viewing the messages together would assist the user in understanding the individual messages in the proper context.
Thus, in some conventional email messaging programs, email messages may be organized into conversations. However, even where email messages are organized into conversations, the messages are still searched as individual entities rather than searching conversations as a whole. This is partially because conventional approaches to indexing typically do not simultaneously enable both message based and conversation based searching due to the prohibitive cost of maintaining data structures enabling message based searching concurrently with data structures enabling conversation based searching. As more users begin to use messaging programs where emails are organized into conversations, the lack of full conversation-based searching for messaging systems becomes increasingly problematic as users are unable to perform simple conversation-based searches.